Movie Texture
Manual     Reference     Scripting   
Unity Manual > User Guide > Asset Import and Creation > Movie Texture

Movie Texture

Note: This is a Pro/Advanced feature only.

Desktop

Movie Textures are animated Textures that are created from a video file. By placing a video file in your project's Assets Folder, you can import the video to be used exactly as you would use a regular Texture.

Video files are imported via Apple QuickTime. Supported file types are what your QuickTime installation can play (usually .mov, .mpg, .mpeg, .mp4, .avi, .asf). On Windows movie importing requires Quicktime to be installed (download here).

Properties

The Movie Texture Inspector is very similar to the regular Texture Inspector.


Video files are Movie Textures in Unity
Aniso LevelIncreases Texture quality when viewing the texture at a steep angle. Good for floor and ground textures
Filtering ModeSelects how the Texture is filtered when it gets stretched by 3D transformations
LoopIf enabled, the movie will loop when it finishes playing
QualityCompression of the Ogg Theora video file. A higher value means higher quality, but larger file size

Details

When a video file is added to your Project, it will automatically be imported and converted to Ogg Theora format. Once your Movie Texture has been imported, you can attach it to any GameObject or Material, just like a regular Texture.

Playing the Movie

Your Movie Texture will not play automatically when the game begins running. You must use a short script to tell it when to play.

// this line of code will make the Movie Texture begin playing
renderer.material.mainTexture.Play();

Attach the following script to toggle Movie playback when the space bar is pressed:

function Update () {
	if (Input.GetButtonDown ("Jump")) {
		if (renderer.material.mainTexture.isPlaying) {
			renderer.material.mainTexture.Pause();
		}
		else {
			renderer.material.mainTexture.Play();
		}
	}
}

For more information about playing Movie Textures, see the Movie Texture Script Reference page

Movie Audio

When a Movie Texture is imported, the audio track accompanying the visuals are imported as well. This audio appears as an AudioClip child of the Movie Texture.


The video's audio track appears as a child of the Movie Texture in the Project View

To play this audio, the Audio Clip must be attached to a GameObject, like any other Audio Clip. Drag the Audio Clip from the Project View onto any GameObject in the Scene or Hierarchy View. Usually, this will be the same GameObject that is showing the Movie. Then use audio.Play() to make the the movie's audio track play along with its video.

Android

Movie Textures are not supported on Android. Instead a full-screen streaming playback is provided using iPhoneUtils.PlayMovie and iPhoneUtils.PlayMovieURL.

You can import your video file just like a regular asset or alternatively you can specify a network-based URL to play a movie located on a remote server.

You need to keep your videos inside of the StreamingAssets folder located in your Project directory.

Unity Android supports any movies that already Android platform supports, usually that means files with the extensions .mp4 and .3gp and using one of the following compression standards:

  • H.263
  • H.264 AVC
  • MPEG-4 SP

However device vendors are keen on expanding this list, so some Android devices are able to play HD videos and other than listed file formats.

For more information about supported compression standards consult with Android SDK Core Media Formats documentation.

As soon as you call iPhoneUtils.PlayMovie or iPhoneUtils.PlayMovieURL, the screen will fade from your current content to the designated background color. It might take some time while movie is ready for playing, meanwhile the player will continue displaying the background color and may also display a progress indicator to let the user know the movie is loading. When playback finishes, the screen will fade back to your content.

Page last updated: 2007-11-16